While the iMac is the first Macintosh system which does not provide an ADB port (excluding the PowerBook 145), we are providing an ADB/USB shim to support processes which make ADB Manager and Cursor Device Manager calls to control ADB devices. For example, such calls are often made to control extended keyboard LEDs and the cursor. It is important to understand that the shim will not support other types of ADB devices. The ADB/USB shim makes it possible for processes that expect an ADB keyboard and/or mouse to work seamlessly with the USB keyboard and mouse.
The ADB/USB shim is built into the "ROM in RAM" image on the iMac and will be included in the "ROM in RAM" image of future Power Macintosh systems which provide USB support. The ADB/USB shim is not included in the extension based USB components that one uses with the PCI USB cards. On an iMac, this means that one can make ADB Manager and Cursor Device Manager calls to see available USB keyboards and USB relative positioning devices. However, for existing PCI Power Macs which use the OPTi or CMD PCI USB cards, the USB devices will not be reported in responses of calls to the ADB Manager.
Serial Port/USB Compatability
------------------------------
In contrast to the ADB/USB shim, there is no universal Serial/USB shim as part of the first release of Mac OS USB DDK. The expected use of such a shim would be to allow processes which uses the Communication Toolbox CRM calls to identify available serial ports, to support both the standard Device Manager I/O and the classic Serial Driver API, and to provide a Mac OS interface for a USB Communication Class device driver.
For a coming release of the Mac OS USB DDK (following the iMac intro), we may provide a sample USB Communication Class driver which would support most USB Comm class devices that implement the Abstract Control Model as per the "USB Class Definitions for Communications Devices" document. The
proposed USB Communication Class driver would depend upon the existence of a Serial/USB shim as mentioned above, which Apple may also provide in a coming release of the Mac OS USB DDK.
For the introduction of the iMac system, a USB Communication Class Driver will need to implement a communication shim for handling Serial Driver calls between applications and itself.
IMPORTANT NOTE: Any Serial/USB shim which we might provide will not be designed to support LocalTalk nor other externally clocked processes from a USB Serial Device.
USB Universal HID Module
-------------------------
The USBHIDUniversalModule is provided to support third party USB gaming devices. In most cases developers of HID devices can write an InputSprocket rather than a USB HIDModule.
The InputSprocket SDK includes two sample ISp drivers with source code:
(1) a sample USB driver which talks to the USBHIDUniversalModule.
(2) a sample ADB driver which talks to the MS Sidewinder 3D Pro (ADB)
(Note the the InputSprocket SDK is not included as part of the Mac OS USB DDK)
InputSprocket 1.3 includes a driver 'InputSprocket USB' which supports several 3rd party gaming devices by talking with USBHIDUniversalModule.
The list of third party USB gaming devices which are supported, is listed below.
• ALPS Game Pad
• Gravis Game Pad Pro
• Microsoft Sidewinder game pad
• Microsoft Sidewinder Precision Pro Joystick
• Thrustmaster TopGun Joystick
'InputSprocket USB' also supports mice through a different mechanism.
• Apple USB Mouse
• All compatible USB mice
The roller on roller USB mice is not currently supported, but will be supported in a future version of InputSprocket USB.
For these USB gaming devices, you will need to install the following components into the Extension folder.
1. USBHIDUniversalModule
2. InputSprocket USB
3. InputSprocket Keyboard
4. InputSprocketLib
5. the following inputSprocket support libs (omit drivers for devices which you don't have.)
- InputSprocket CH
- InputSprocket CH Trackball
- InputSprocket Contour
- InputSprocket Gravis
- InputSprocket Kensington
- InputSprocket Keyboard
- InputSprocket MacALLY
- InputSprocket Microspeed
- InputSprocket Mouse
- InputSprocket NoHandsMouse
- InputSprocket SideWinder 3D Pro
- InputSprocket Speech
- InputSprocket Thrustmaster
You can obtain the InputSprocket 1.3 SDK and these support libs from the Game Sprockets Download page. Use the URL below to access the Game Sprockets Downloads page.